home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
comm
/
net
/
plip38src.lha
/
plip
/
rt.asm
< prev
next >
Wrap
Assembly Source File
|
1994-06-27
|
2KB
|
122 lines
;
; romtag for sana2par.device
;
xref _SysBase
xref _DOSBase
xref _UtilityBase
section "text",code
xref _DevOpen
xref _DevClose
xref _DevExpunge
xref _DevBeginIO
xref _DevAbortIO
; xref _DevInit
; xref _LoadPrefs
include "exec/types.i"
include "exec/devices.i"
include "exec/initializers.i"
include "exec/resident.i"
include "exec/tasks.i"
include "exec/libraries.i"
call MACRO
xref _LVO\1
jsr _LVO\1(a6)
ENDM
; load error
error:
moveq #-1,d0
rts
romtag:
dc.w RTC_MATCHWORD
dc.l romtag
dc.l EndCode
dc.b RTF_AUTOINIT
dc.b VERSION,NT_DEVICE,0
dc.l devname
dc.l devid
dc.l Init
devname: dc.b "plip.device",0
dc.b 0,"$VER: "
devid: dc.b "plip 38.11 (27.06.94)",13,10
dc.b "by Oliver Wagner & Michael Balzer",13,10,0
ds.w 0
VERSION equ 38
REVISION equ 11
STRUCTURE MyDev,LIB_SIZE
UBYTE md_Flags
UBYTE md_Pad1
ULONG md_SegList
LABEL MyDev_Sizeof
Init:
dc.l MyDev_Sizeof
dc.l functable,datatable,initroutine
functable:
dc.l _DevOpen
dc.l _DevClose
dc.l _DevExpunge
dc.l error
dc.l _DevBeginIO
dc.l _DevAbortIO
* private device jump extension
dc.l -1
datatable:
INITBYTE LN_TYPE,NT_DEVICE
INITLONG LN_NAME,devname
INITBYTE LIB_FLAGS,LIBF_SUMUSED!LIBF_CHANGED
INITWORD LIB_VERSION,VERSION
INITWORD LIB_REVISION,REVISION
INITLONG LIB_IDSTRING,devid
dc.w 0
xref __BSSBAS
xref __BSSLEN
xref _LinkerDB
lea __BSSBAS,a0
add.l __BSSLEN,d0
initroutine:
; d0 = devbase, a0=seglist, a6=sysbase
movem.l a1/d1/a0/d0/a4,-(sp)
move.l d0,a1
move.l a0,md_SegList(a1)
lea _LinkerDB,a4
move.l a6,_SysBase(a4)
lea utilityname(pc),a1
jsr -408(a6) ; openlib
move.l d0,_UtilityBase(a4)
beq.s initerror
lea dosname(pc),a1
jsr -408(a6) ; openlib
move.l d0,_DOSBase(a4)
beq.s initerror
movem.l (sp)+,d0/d1/a0/a1/a4
rts
; init failed...
initerror:
movem.l (sp),d0/d1/a0/a1/a4
moveq #0,d0
rts
EndCode:
utilityname: dc.b "utility.library",0
dosname:
dc.b "dos.library",0
ds.w 0
END